chore(deps): update entities to latest for Node.js 24 compatibility#14160
chore(deps): update entities to latest for Node.js 24 compatibility#14160edison1105 merged 2 commits intovuejs:mainfrom
Conversation
WalkthroughUpdated Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: CodeRabbit UI Review profile: CHILL Plan: Pro ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
❌ Deploy Preview for vue-sfc-playground failed. Why did it fail? →
|
❌ Deploy Preview for vue-next-template-explorer failed. Why did it fail? →
|
There was a problem hiding this comment.
Actionable comments posted: 0
🧹 Nitpick comments (2)
packages/compiler-core/src/parser.ts (1)
49-49: Deep import intoentities/dist/decode.jsis OK for v5 but may hinder future upgradesThis path looks consistent with entities v5’s dist layout and fixes the immediate Node 24 issue. However, newer entities releases publish only
././decode/./escapein their"exports"map, not./dist/decode.js, so a future bump beyond^5.xwould likely break here with anotherERR_PACKAGE_PATH_NOT_EXPORTED. Consider switching to the public subpath (entities/decode) once you’ve confirmed it’s exported in 5.0.0 as well, or at least leave a note that this import must be revisited when upgrading entities again.Would you double‑check entities 5.0.0’s
package.jsonexports and confirm whether./decodeis available (and whether./dist/decode.jsis explicitly exported) before locking in this path?packages/compiler-core/src/tokenizer.ts (1)
34-39: Non‑browser decode import is correct for entities v5; watch for future exports changesRouting
DecodingMode/EntityDecoder/fromCodePoint/htmlDecodeTreethroughentities/dist/decode.jsis consistent with the v5 layout and keeps all usage in non‑__BROWSER__branches, so the non‑browser‑only dependency contract still holds. As withparser.ts, this is a deep import intodist/; if a later bump to entities >5 switches to only exporting./decode/./escape, this path will become invalid again. It’s worth planning to swap to the publicentities/decodesubpath once you’ve confirmed it’s exported in 5.0.0.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
packages/compiler-core/package.json(1 hunks)packages/compiler-core/src/parser.ts(1 hunks)packages/compiler-core/src/tokenizer.ts(1 hunks)
🔇 Additional comments (1)
packages/compiler-core/package.json (1)
48-54: entities bump to^5.0.0aligns with the new imports; verify runtime behaviorUpdating entities to
^5.0.0matches the new dist-based imports and should address the Node 24 path-resolution issue. Since this is a major bump with a different layout, make sure the compiler-core test suite (especially entity decoding and tokenizer/parser specs) passes under Node 24 with a fresh install so we don’t miss any subtle behavior changes.
b6d994f to
8b04784
Compare
148839f to
f670c51
Compare
The entities package v4.5.0 uses lib/ directory for exports which causes ERR_PACKAGE_PATH_NOT_EXPORTED error in Node.js 24 due to stricter exports map resolution. Updated entities to v6.0.0 which properly exports './decode' subpath that is compatible with Node.js 24's exports resolution. Note: v5.0.0 was previously tried but caused runtime resolution errors (issue vuejs#11603). v6.0.0 resolves both issues by using clean subpath exports ('./decode' instead of './lib/decode.js' or './dist/decode.js'). close vuejs#14159
f670c51 to
cb60bba
Compare
Size ReportBundles
Usages
|
@vue/compiler-core
@vue/compiler-dom
@vue/compiler-sfc
@vue/compiler-ssr
@vue/reactivity
@vue/runtime-core
@vue/runtime-dom
@vue/server-renderer
@vue/shared
vue
@vue/compat
commit: |
|
I tested that |
|
/ecosystem-ci run |
|
📝 Ran ecosystem CI: Open
|
|
@edison1105 Please tell me when this pull request will be merged ? |
close #14159
Summary
This PR fixes the Node.js 24 compatibility issue with
@vue/compiler-core.Problem
The
entitiespackage v4.5.0 useslib/directory for exports which causesERR_PACKAGE_PATH_NOT_EXPORTEDerror in Node.js 24 due to stricter exports map resolution.Solution
Updated
entitiesto v5.0.0 which usesdist/directory structure that is properly compatible with Node.js 24's exports resolution.Changes
entitiesdependency from^4.5.0to^5.0.0entities/lib/decode.jstoentities/dist/decode.jsFixes #14159 14159
Summary by CodeRabbit
Chores
Build
✏️ Tip: You can customize this high-level summary in your review settings.